Router apparatus, communication system and packet transfer method

ABSTRACT

A router apparatus connecting a first network and a second network including a storage unit which stores association information associating an address of one of a plurality of second router apparatuses with an address of a corresponding one of a plurality of server apparatuses with an identical address, each of the plurality of second router apparatus connecting the first network to each of a plurality of third networks to which the respective plurality of server apparatuses is connected, a receiving unit which receives a packet transmitted from a terminal apparatus and transferred via the second network, an encapsulating unit which encapsulates the packet received into a packet with a destination address corresponding to the address of the second router apparatus associated with an address of the packet based on the association information, and a transmitting unit which transmits the packet encapsulated by the encapsulating unit to the first network.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority of theprior Japanese Patent Application No. 2012-154591, filed on Jul. 10,2012, the entire contents of which are incorporated herein by reference.

FIELD

Embodiments discussed herein relate to a router apparatus, acommunication system, and a packet transfer method.

BACKGROUND

An example of a technique related to a wide-area load balancingtechnique for allocating packets among a plurality of server apparatusesis a wide-area load balancing scheme using a DNS (Domain Name System)specified in IETF (The Internet Engineering Task Force) RFC (Request forComments) 1034. According to this wide-area load balancing scheme,different IP (Internet Protocol) addresses are assigned to a pluralityof servers with the same host name. A terminal accessing the servers hasa DNS cache in which the host name is associated with the IP address ofone of the servers. When an application operating on the terminalaccesses the servers, the host name is specified as a destination, andthe terminal is allocated to one of the servers in accordance with theDNS cache.

Another example of a technique related to the wide-area load balancingtechnique is a wide-area load balancing scheme using NAT (NetworkAddress Translation) specified in IETF RFC 1631. According to thiswide-area load balancing scheme, different IP addresses are assigned toservers providing the same service. The IP addresses are referred to asthe “actual IP addresses” of the servers. For these servers, a single IPaddress is visible to the terminal. This IP address is assigned to a NATapparatus. The IP address visible to the terminal is referred to as a“virtual IP address”. The NAT apparatus has a NAT table in which thevirtual IP address is associated with a plurality of actual IPaddresses. When receiving packets destined for the virtual IP addressfrom a terminal, the NAT apparatus refers to the NAT table to select,for example, a server with the lowest load, and translates thedestination address of the packets into the actual IP address of thisserver.

There is known a related technique in which a plurality of servers isconnected to different VLANs, and the load condition of each of theservers is detected. The VID of packets from an information terminal isconverted depending on the load condition of each server or the like toswitch a server to be connected to the information terminal.

There is known another related technique in which, when a clienttransmits a request for access to information to a GW, the GWmanipulates a DA/SA field in an IP header of an IP packet forencapsulation. The GW thus transfers the request for access toinformation to a server selected from a group of servers.

Related art is disclosed in Japanese National Publication ofInternational Patent Applications No. 2003-234752 and 10-84385. Relatedart is also disclosed in IETF RFC 1034 (1987) and IETF RFC 1631 (1994).

SUMMARY

In accordance with an aspect of the apparatus, there is provided arouter apparatus connecting a first network and a second network. Therouter apparatus includes a storage unit which stores associationinformation associating an address of one of a plurality of secondrouter apparatuses with an address of a corresponding one of a pluralityof server apparatuses with an identical address, each of the pluralityof second router apparatus connecting the first network to each of aplurality of third networks to which the respective plurality of serverapparatuses is connected, a receiving unit which receives a packettransmitted from a terminal apparatus and transferred via the secondnetwork, an encapsulating unit which encapsulates the packet receivedinto a packet with a destination address corresponding to the address ofthe second router apparatus associated with an address of the packetbased on the association information, and a transmitting unit whichtransmits the packet encapsulated by the encapsulating unit to the firstnetwork.

A router apparatus according to another of the apparatus includes areceiving unit which receives, from a second router apparatus connectinga first network and a second network, an encapsulated packet with adestination address corresponding to an address of the router apparatusconnecting one of a plurality of third networks to the first network, adecapsulating unit which takes out, from the encapsulated packet, apacket transmitted by a terminal apparatus connected to the secondnetwork and destined for an identical address of a plurality of serverapparatuses connected to a respective plurality of third networks, and atransmitting unit which transmits the packet taken out by thedecapsulating unit to the third network connected to the first networkby the router apparatus.

The object and advantages of the invention will be realized and attainedby means of the elements and combinations particularly pointed out inthe claims. It is to be understood that both the foregoing generaldescription and the following detailed description are exemplary andexplanatory and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram depicting a general configuration of a first exampleof a communication system.

FIG. 2A is a schematic diagram of an example of a packet transmitted bya terminal.

FIG. 2B is a schematic diagram of an example of an encapsulated packet.

FIG. 3 is a diagram of a first example of allocation destinationinformation.

FIG. 4 is a diagram depicting an example of a hardware configuration ofa router apparatus on a terminal apparatus side.

FIG. 5 is a diagram depicting an example of a hardware configuration ofa router apparatus on a server apparatus side.

FIG. 6 is a diagram depicting a first example of a functionalconfiguration of the router apparatus on the terminal apparatus side.

FIG. 7 is a diagram depicting a first example of a functionalconfiguration of the router apparatus on the server apparatus side.

FIG. 8 is a sequence diagram illustrating a first example of a packetallocating operation.

FIG. 9 is a diagram depicting a general configuration of a variation ofa communication system.

FIG. 10 is a diagram depicting a variation of allocation destinationinformation.

FIG. 11 is a diagram depicting a general configuration of a secondexample of the communication system.

FIG. 12 is a diagram depicting an example of transfer destinationinformation.

FIG. 13A is a diagram depicting a first example of address mappinginformation.

FIG. 13B is a diagram depicting a first example of load information.

FIG. 14 is a diagram illustrating update of allocation destinationinformation.

FIG. 15 is a diagram depicting an example of a hardware configuration ofa position managing server apparatus.

FIG. 16 is a diagram depicting a second example of the functionalconfiguration of the router apparatus on the server apparatus side.

FIG. 17 is a diagram depicting a second example of the functionalconfiguration of the router apparatus on the terminal apparatus side.

FIG. 18 is a diagram depicting a first example of a functionalconfiguration of the position managing server apparatus.

FIG. 19 is a sequence diagram illustrating a first example of anoperation of changing the allocation destination of a packet.

FIG. 20 is a diagram depicting a general configuration of a thirdexample of the communication system.

FIG. 21 is a diagram depicting an example of server managementinformation.

FIG. 22 is a diagram depicting an example of a hardware configuration ofa managing server apparatus.

FIG. 23 is a diagram depicting an example of a functional configurationof the managing server apparatus.

FIG. 24 is a sequence diagram illustrating a second example of theoperation of changing the allocation destination of a packet.

FIG. 25 is a diagram depicting a third example of the functionalconfiguration of the router apparatus on the server apparatus side.

FIG. 26 is a diagram depicting a third example of the functionalconfiguration of the router apparatus on the terminal apparatus side.

FIG. 27 is a sequence diagram illustrating a third example of theoperation of changing the allocation destination of a packet.

FIG. 28 is a diagram depicting a second example of the functionalconfiguration of the position managing server apparatus.

FIG. 29 is a sequence diagram illustrating a fourth example of theoperation of changing the allocation destination of a packet.

FIG. 30 is a diagram depicting a fourth example of the functionalconfiguration of the router apparatus on the terminal apparatus side.

FIG. 31 is a sequence diagram illustrating an example of an operation ofsetting the allocation destination of a packet.

FIG. 32 is a diagram depicting a general configuration of a fourthexample of the communication system.

FIG. 33A is a diagram depicting a second example of address mappinginformation.

FIG. 33B is a diagram depicting a second example of load information.

FIG. 34 is a sequence diagram illustrating a fifth example of theoperation of changing the allocation destination of a packet.

DESCRIPTION OF EMBODIMENTS

According to the DNS scheme, a change of an allocation destinationserver apparatus changes the IP address of the server apparatusesvisible to the terminal apparatus accessing the server apparatuses.Thus, for example, a TCP (Transmission Control Protocol) session maydisadvantageously be disconnected. Furthermore, according to the NATscheme, the load of a packet allocation process may disadvantageouslyconcentrate on the NAT apparatus. The virtual IP address is assigned tothe NAT apparatus, and thus, all packets from terminals reach the NATapparatus. Packets destined for terminals by servers also pass throughthe NAT apparatus because the source address needs to be changed from anactual IP address back to a virtual IP address.

An object of an apparatus or a method disclosed herein is to distributea packet allocation process enabling a change of an allocationdestination server apparatus, among a plurality of apparatuses withoutchanging the address of server apparatuses visible to the terminalapparatus.

<1. First Embodiment>

<1.1. Configuration of the Communication System>

Preferred embodiments will be illustrated below with reference to theattached drawings. FIG. 1 is a diagram depicting a general configurationof a first example of a communication system. A communication system 1includes a first network 2 and router apparatuses 3, 4 a, and 4 b. Therouter apparatus 3 is an edge router that connects a second network 11with a first communication apparatus 10 connected thereto to the firstnetwork 2. The router apparatuses 4 a and 4 b are edge routersconnecting a respective plurality of third networks 13 a and 13 b with arespective plurality of second communication apparatuses 12 a and 12 bconnected thereto, to the first network 2.

The first network 2 may be, for example, a wide area network (WAN).Furthermore, the second network 11 and the third networks 13 a and 13 bmay be, for example, local area networks (LAN). In an exampleillustrated below, the first network 2 is a wide area network, and thesecond network 11 and the third networks 13 a and 13 b are local areanetworks. However, the example is not intended to limit the applicationof the router apparatuses and server apparatuses illustrated herein torouter apparatuses and server apparatuses used in a wide area networkconnected to local area networks. The router apparatuses and serverapparatuses illustrated herein can be utilized in various types ofcommunication networks on which packet communication is carried out.

Furthermore, in the examples illustrated below, the second communicationapparatuses 12 a and 12 b are server apparatuses, and the firstcommunication apparatus 10 is a terminal apparatus that carries outpacket communication with the server apparatus 12 a or 12 b. However,the examples are not intended to limit the use of the router apparatusesand server apparatuses illustrated herein to communication between aterminal apparatus and a server apparatus. The router apparatuses andserver apparatuses illustrated herein can be utilized for communicationbetween various types of communication apparatuses that carry out packetcommunication. In the description below and the attached drawings, theterminal apparatus, the router apparatus, and the server apparatus aresometimes referred to as a “terminal”, a “router”, and a “server”. Theservers 12 a and 12 b are sometimes collectively referred to as a“server 12”. The local area networks 13 a and 13 b are sometimesreferred to as a “local area network 13”. The routers 4 a and 4 b aresometimes collectively referred to as a “router 4”.

In the description below, connection by the router 3 of the local areanetwork 11 connected to the terminal 10 to the wide area network 2 issometimes referred to as “accommodation” of the terminal 10. Similarly,connection, by the router 4, of the local area network 13 connected tothe server 12 to the wide area network 2 is sometimes referred to as“accommodation” of the server 12.

The servers 12 a and 12 b provide the same service to the terminal 10and are assigned with the same IP address. In the description below andthe attached drawings, the “IP address” is sometimes referred to as an“address”. The address of the terminal 10 is “A”, and the address of theservers 12 a and 12 b is “B”. Furthermore, the addresses of the routers4 a and 4 b on the wide area network 2 are “X” and “Y”, respectively.The address of the router 3 on the wide area network 2 is “Z”.

When receiving a packet destined for the server 12 from the terminal 10,the router 3 allocates the received packet to the server 12 a or 12 b.FIG. 2A is a schematic diagram of an example of a packet transmitted bythe terminal 10. A received packet 200 contains data 201 and a header202. The header 202 contains a source address “A” and a destinationaddress “B” of the packet 200.

The allocation of the received packet is carried out by embedding thereceived packet in a packet destined for one of the routers 4 a and 4 band transferring the packet to the wide area network 2 for the routers 4a and 4 b. In the description below and the attached drawings, theprocess of embedding the received packet in the packet destined for therouter 4 is referred to as “encapsulation”. FIG. 2B is a schematicdiagram of an example of an encapsulated packet 210. Now, the receivedpacket is assumed to be allocated to the server 12 a. The packet 210contains the original packet 200 and a header 211 of the packet 210itself. The header 211 contains the address “Z” of the router 3, whichis a source, and the address “X” of the router 4 a, which accommodatesthe server 12 a, which is an allocation destination, as a source addressand a destination address, respectively. In a certain embodiment, therouter 3 may encapsulate the received packet in accordance with LISP(Locator/ID Separation Protocol) discussed in IETF.

The router 3 stores allocation destination information 20 indicative ofthe destination address of the received packet associated with theaddress of the router 4 to which the received packet is to be allocated.The router 3 determines the router 4 to which the received packet is tobe allocated in accordance with the allocation destination information20. FIG. 3 is a diagram depicting a first example of the allocationdestination information 20. The allocation destination information 20includes information elements “destination address” and “allocationdestination router address”. The information element “destinationaddress” is indicative of the destination address of the receivedpacket. The address of the router 4 to which each of the packets withrespective destination addresses is to be allocated is specified by theinformation element “allocation destination router address”. In theexample in FIG. 3, a packet with the destination address “B” istransferred to the router 4 a with the address “X”. An example of theallocation destination information 20 is a map cache used according toLISP.

Upon receiving an encapsulated packet, the router 4 takes the embeddedoriginal packet out from the encapsulated packet. In the descriptionbelow and the attached drawings, the process of taking the originalpacket out from the encapsulated packet is referred to as“decapsulation”. The router 4 transfers the original packet to theserver 12 with the address “B”.

According to the present embodiment, the same address can be assigned tothe plurality of servers 12 a and 12 b providing the same service. Thus,even when the allocation destination of a packet from the terminal 10 isswitched between the server 12 a and the server 12 b, the address of theserver 12 visible to the terminal 10 remains unchanged. Furthermore,since the individual routers 3 accommodating the respective terminals 10carry out packet allocation, the packet allocating operation isdistributed.

<1.2. Hardware Configuration>

In the following, the configurations and functions of the router 3 androuter 4 performing the above-described operation will be illustrated.FIG. 4 is a diagram depicting an example of a hardware configuration ofthe router 3. The router 3 includes a processor 30, an auxiliary storageapparatus 31, a memory 32, a first network interface circuit 33, and asecond network interface circuit 34. In the description below and theattached drawings, the network interface is sometimes referred to as an“NIF”.

The processor 30 allows the router 3 to perform a packet transferoperation. The auxiliary storage apparatus 31 is configured to store anoperating system 35, a control program 36 for the packet transferoperation performed by the processor 30, and the allocation destinationinformation 20. The auxiliary storage apparatus 31 includes anonvolatile storage apparatus. The nonvolatile storage apparatus may be,for example, a read only memory (ROM), a flash memory, or a hard disk.In the description below and the attached drawings, the operating systemis sometimes referred to as an “OS”.

The memory 32 is configured to store a computer program being currentlyexecuted by the processor 30 and data temporarily used by the program.The memory 32 may include a random access memory (RAM). The first NIFcircuit 33 carries out a process of transmitting and receiving packetsto and from the local area network 11. The second NIF circuit 34 carriesout a process of transmitting and receiving packets to and from the widearea network 2.

FIG. 5 is a diagram depicting an example of a hardware configuration ofthe router 4. The router 4 includes a processor 40, an auxiliary storageapparatus 41, a memory 42, a first NIF circuit 43, and a second NIFcircuit 44. The processor 40 allows the router 4 to perform a packettransfer operation. The auxiliary storage apparatus 41 is configured tostore an OS 45 and a control program 46 for the packet transferoperation performed by the processor 40. The auxiliary storage apparatus41 includes a nonvolatile storage apparatus.

The memory 42 is configured to store a computer program being currentlyexecuted by the processor 40 and data temporarily used by the program.The memory 42 may include a random access memory. The first NIF circuit43 carries out a process of transmitting and receiving packets to andfrom the local area network 13. The second NIF circuit 44 carries out aprocess of transmitting and receiving packets to and from the wide areanetwork 2.

The hardware configurations depicted in FIG. 4 and FIG. 5 are merely forillustrative purposes to describe the embodiments. Given that therouters described herein perform the operations described below, therouters may adopt any other hardware configuration.

<1.3. Functional Configuration>

The functions of the router 3 and the router 4 implemented by thehardware configurations depicted in FIG. 4 and FIG. 5 will beillustrated. FIG. 6 is a diagram depicting a first example of afunctional configuration of the router 3. The router 3 includes a firsttransmitting and receiving unit 50, a second transmitting and receivingunit 51, an identifying unit 52, a storage unit 53, and a allocationdestination information referencing unit 54, and an encapsulating unit55.

The first transmitting and receiving unit 50 carries out a process ofreceiving packets from the local area network 11 and a process oftransmitting packets to the local area network 11. The secondtransmitting and receiving unit 51 carries out a process of receivingpackets from the wide area network 2 and a process of transmittingpackets to the wide area network 2. The identifying unit 52 carries outa process of identifying packets received from the local area network11.

When a packet transmitted by the terminal 10 is received via the localarea network 11, the allocation destination information referencing unit54 references the allocation destination information 20 stored in thestorage unit 53. The allocation destination information referencing unit54 acquires, from the allocation destination information 20, the addressof the router 4 to which the received packet 200 is to be allocated andwhich is designated in accordance with the destination address of thereceived packet 200. The allocation destination information referencingunit 54 outputs the acquired address of an allocation destination router4 to the encapsulating unit 55.

The encapsulating unit 55 generates a packet 210 which designates theaddress of the router 3 as a source address and which designates theaddress of the allocation destination router 4, as a destinationaddress. The encapsulating unit 55 embeds the received packet 200 in thegenerated packet 210 to encapsulate the received packet 200. The secondtransmitting and receiving unit 51 transfers the encapsulated packet 210to the wide area network 2.

The above-described operation of the first transmitting and receivingunit 50 is performed through cooperation between the first NIF circuit33 depicted in FIG. 4 and the processor 30 executing the control program36. The above-described operation of the second transmitting andreceiving unit 51 is performed through cooperation between the secondNIF circuit 34 and the processor 30 executing the control program 36.The above-described operations of the identifying unit 52, theallocation destination information referencing unit 54, and theencapsulating unit 55 are performed by the processor 30 executing thecontrol program 36. A storage area for the storage unit 53 is providedin the auxiliary storage apparatus 31.

FIG. 7 is a diagram depicting a first example of a functionalconfiguration of the router 4. The router 4 includes a firsttransmitting and receiving unit 70, a second transmitting and receivingunit 71, an identifying unit 72, and a decapsulating unit 73. The firsttransmitting and receiving unit 70 carries out a process of receivingpackets from the local area network 13 and a process of transmittingpackets to the local area network 13. The second transmitting andreceiving unit 71 carries out a process of receiving packets from thewide area network 2 and a process of transmitting packets to the widearea network 2. The identifying unit 72 carries out a process ofidentifying packets received from the wide area network 2.

When the encapsulated packet 210 transmitted by the router 3 is receivedvia the wide area network 2, the decapsulating unit 73 decapsulates thepacket 210 to take out the original packet 200. The first transmittingand receiving unit 70 transfers the original packet 200 to the localarea network 13.

The above-described operation of the first transmitting and receivingunit 70 is performed through cooperation between the first NIF circuit43 depicted in FIG. 5 and the processor 40 executing the control program46. The above-described operation of the second transmitting andreceiving unit 71 is performed through cooperation between the secondNIF circuit 44 and the processor 40 executing the control program 46.The above-described operations of the identifying unit 72 and thedecapsulating unit 73 are performed by the processor 40 executing thecontrol program 46.

Furthermore, diagrams of functional configurations in FIG. 6 and FIG. 7mainly depict components related to the functions of the router 3 andthe router 4 illustrated herein. The router 3 and the router 4 mayinclude components other than the depicted components. This also appliesto diagrams of functional configurations in FIG. 16, FIG. 17, FIG. 25,FIG. 26, and FIG. 30.

<1.4. Illustration of Operations>

A first example of a packet allocating operation performed by the router3 and the router 4 will be illustrated with reference to FIG. 8. Aseries of operations illustrated with reference to FIG. 9 may beinterpreted as a method including a plurality of procedures. In thiscase, the “operation” is interchangeable with a “step”. This alsoapplies to operations depicted in FIG. 19, FIG. 24, FIG. 27, FIG. 31,and FIG. 34.

In an operation AA, the terminal 10 transmits the packet 200 destinedfor the server 12. As the destination address of the packet 200, theaddress “B” of the server 12 is designated. When the packet 200 isreceived by the router 3, the allocation destination informationreferencing unit 54 of the router 3 references, in an operation AB, theallocation destination information 20. The allocation destinationinformation referencing unit 54 acquires the address “X” of the router 4a to which the received packet 200 is to be allocated, from theallocation destination information 20.

In an operation AC, the encapsulating unit 55 encapsulates the receivedpacket 200. The address “X” is designated as the destination address ofthe encapsulated packet 210. In an operation AD, the second transmittingand receiving unit 51 transfers the encapsulated packet 210 to the widearea network 2.

In an operation AE, when the encapsulated packet 210 is received by therouter 4 a, the decapsulating unit 73 decapsulates the packet 210 totake out the original packet 200. In an operation AF, the firsttransmitting and receiving unit 70 transfers the original packet 200 tothe local area network 13, and then, the server 12 a receives the packet200.

<1.5. Effects of the Embodiment>

According to the present embodiment, the same address can be assigned toa plurality of servers. Thus, even when the allocation destination of apacket from a terminal is switched among the plurality of servers, theaddress of the servers visible to the terminal remains unchanged. Hence,for example, according to the TCP protocol, an identifier for a sessionincludes the address of the server, and thus the session is disconnectedwhen the address of the connection destination server is changed duringthe session. In contrast, with the present embodiment, problems such asthe disconnection of a session resulting from switching of theconnection destination server during the session can be avoided. Thepacket allocation process is carried out by individual routersconnecting each local area network with a terminal connected thereto toa wide area network. Consequently, an operation of allocating packetstransmitted from a plurality of local area networks is distributed.

<1.6. Variation>

The allocation destination information depicted in FIG. 3 may associate,for each of the terminals with different addresses, the destinationaddress of the received packet with the address of the router to whichthe received packet is to be allocated. A variation of the communicationsystem 1 depicted in FIG. 9, the plurality of terminals 10 and 14 areconnected to the local area network 11.

FIG. 10 is a diagram depicting a variation of the allocation destinationinformation 20 corresponding to the communication system 1 in FIG. 9.The allocation destination information 20 includes information elements“source address”, “destination address”, and “allocation destinationrouter address”. The information element “source address” is indicativeof the source address of the received packet. The information elements“destination address” and “allocation destination router address” aresimilar to the information elements “destination address” and“allocation destination router address” in FIG. 3.

The allocation destination information referencing unit 54 acquires,from the allocation destination information 20, the address of anallocation destination router associated with each of the source addressand destination address of the received packet. As a result, forexample, a packet with a source address “A1” and the destination address“B” is transferred to the router 4 a with the address “X”. A packet witha source address “A2” and the destination address “B” is transferred tothe router 4 b with an address “Y”. Thus, when the same router 3allocates packets from the plurality of terminals 10 and 14, theallocation destination router 4 can be varied among the terminals basedon the allocation destination information 20 in FIG. 10.

<2. Second Embodiment>

<2.1. General Configuration of the Communication System>

Another embodiment of the communication system 1 will be illustrated.The communication system 1 according to the present embodiment switchesthe server 12 to which a packet is to be allocated by the router 3without changing the address of the server 12 visible to the terminal10. FIG. 11 is a diagram depicting a general configuration of a secondexample of the communication system 1. Components of the second examplewhich are similar to the corresponding components depicted in FIG. 1 aredenoted by the same reference numerals as used in FIG. 1. Description ofthe same functions is omitted. The communication system 1 includes aposition managing server 15.

The server 12 a transmits a change request signal requesting a change ofthe allocation destination of a packet from the terminal 10 transmittingthe packet to the server 12 a, to the router 4 a accommodating theserver 12 a. The change request signal contains the designations of theaddress “B” of the server 12 a and the address “A” of the terminal 10.The router 4 a identifies the address “Z” of the router to which thepacket from the terminal 10 is to be allocated, i.e., the router 3accommodating the terminal 10, in accordance with the address “A” of theterminal 10 contained in the change request signal. The router 4 a isconfigured to store transfer destination information 21 associating theaddress of the terminal 10 with address of the router 3 to which thepacket from the terminal 10 is to be allocated.

FIG. 12 is a diagram depicting an example of the transfer destinationinformation 21. The transfer destination information 21 includesinformation elements “terminal address” and “router address”. Theinformation element “terminal address” is indicative of the address ofthe terminal 10 accessing the server 12. The information element “routeraddress” is indicative of the address of the router 3 to which thepacket from the terminal 10 is to be allocated. In the example in FIG.12, a packet with the address “A” transmitted by the terminal 10 isallocated by the router 3 with the address “Z”. The router 4 a may usefor example, as the transfer destination information 21, a map cacheused according to LISP so that the server 12 a can encapsulate thepacket from the terminal 10 and transfer the encapsulated packet to therouter 3.

The router 4 identifies the router 3 to which the packet from theterminal 10 with the address “A” designated in the change request signalis to be allocated, based on the transfer destination information 21.The router 4 transfers the change request signal to the router 3. Therouter 3 transmits, to the position managing server 15, a request signalrequesting the address of the allocation destination router 4 to whichthe encapsulated packet destined for the server 12 is to be transferred.An example of the request signal may be a map request used according toLISP.

When receiving the request signal, the position managing server 15identifies the addresses of the plurality of routers 4 a and 4 baccommodating the respective servers 12 a and 12 b with the address “B”.The position managing server 15 is configured to store the addressmapping information 22 associating the address of the server 12 with theaddresses of the plurality of routers 4 accommodating the server 12. Anexample of the address mapping information 22 may be a map table usedaccording to LISP.

FIG. 13A is a diagram depicting a first example of the address mappinginformation 22. The address mapping information 22 includes informationelements “address” and “router address”. The information element“address” is indicative of the address of each server 12. Theinformation element “router address” is indicative of the address of therouter 4 accommodating the server 12. In the example in FIG. 13A, theplurality of servers 12 a and 12 b with the address “B” are accommodatedin the plurality of routers 4 a and 4 b with the addresses “X” and “Y”,respectively. The address mapping information 22 may be stored togetherwith an association of the address “A” of the terminal 10 with theaddress “Z” of the router 3 accommodating the terminal 10.

When the address mapping information 22 indicates that the address “B”of the server 12 is associated with the addresses “X” and “Y” of theplurality of routers 4 a and 4 b, the position managing server 15selects one of the routers. According to a certain embodiment, theposition managing server 15 may preferentially select a routeraccommodating a server 12 with a lower load. The position managingserver 15 according to the present embodiment selects a routeraccommodating a server 12 with the lowest load. Thus, the positionmanaging server 15 is configured to store load information 86 that is arecord of the load on each server 12.

FIG. 13B is a diagram depicting a first example of the load information86. The load information 86 includes information elements “address”,“router address”, and “load”. The information elements “address” and“router address” are similar to the information elements “address” and“router address” in FIG. 13A. The information element “load” isindicative of the amount of the load on each server 12. In the examplein FIG. 13B, the loads on the servers 12 a and 12 b are “20” and “10”,respectively. The position managing server 15 selects the router 4 baccommodating the server 12 b with the lowest load.

The position managing server 15 transmits a reply signal containing theaddress “Y” of the selected router 4 b and the address “B” of the server12 to the router 3 as a reply to the request signal. An example of thereply signal may be a map reply used according to LISP. When receivingthe reply signal containing the address “Y” of the router 4 b, therouter 3 updates the allocation destination information 20 such that apacket destined for the server 12 with the address “B” is allocated tothe router 4 b with the address “Y”. FIG. 14 depicts the updatedallocation destination information.

Thus, the destination to which the packet is to be allocated by therouter 3 is switched from the server 12 a to the server 12 b withoutchanging the address of the server 12 visible to the terminal 10.Furthermore, the packet from the terminal 10 is preferentially allocatedto the server 12 with a lower load. This enables a reduction in the biasof distribution of the load among the servers.

<2.2. Hardware Configuration>

A hardware configuration of the position managing server 15 will beillustrated. FIG. 15 is a diagram depicting an example of a hardwareconfiguration of the position managing server 15. The position managingserver 15 includes a processor 80, an auxiliary storage apparatus 81, amemory 82, and an NIF circuit 83.

The processor 80 performs operations of the position managing server 15described below. The auxiliary storage apparatus 81 is configured tostore an operating system 84, a position managing program 85 forallowing the processor 80 to perform operations illustrated below,address mapping information 22, and load information 86. The auxiliarystorage apparatus 81 includes a nonvolatile storage apparatus.

The memory 82 is configured to store a computer program being currentlyexecuted by the processor 80 and data temporarily used by the program.The memory 82 may include a random access memory. The NIF circuit 83carries out a process of transmitting and receiving packets to and fromthe wide area network 2.

The hardware configuration depicted in FIG. 15 is merely forillustrative purpose to describe the embodiment. Given that the positionmanaging server 15 described herein performs the operations describedbelow, the position managing server 15 may adopt any other hardwareconfiguration.

<2.3. Functional Configuration>

The functions of the router 3, the router 4, and the position managingserver 15 according to the second embodiment will be illustrated. FIG.16 is a diagram depicting a second example of the functionalconfiguration of the router 4. Components of the second example whichare similar to the corresponding components depicted in FIG. 7 aredenoted by the same reference numerals as used in FIG. 7. Description ofthe same functions is omitted. The router 4 includes an identifying unit74, a storage unit 75, a transfer destination determining unit 76, and achange request signal processing section 77.

The identifying unit 74 carries out a process of identifying packetsreceived from the local area network 13. When a change request signaltransmitted by the server 12 is received via the local area network 13,the transfer destination determining unit 76 references the transferdestination information 21 stored in the storage unit 75. The transferdestination determining unit 76 acquires, from the transfer destinationinformation 21, the address of the router 3 associated with the addressof the terminal 10 designated in the change request signal. The changerequest signal processing unit 77 transfers the change request signal tothe router 3 with the acquired address.

The above-described operations of the identifying unit 74, the transferdestination determining unit 76, and the change request signalprocessing unit 77 are performed by the processor 40 executing thecontrol program 46. A storage area for the storage unit 75 is providedin the auxiliary storage apparatus 41.

FIG. 17 is a diagram depicting a second example of the functionalconfiguration of the router 3. Components of the second example whichare similar to the corresponding components depicted in FIG. 6 aredenoted by the same reference numerals as used in FIG. 7. Description ofthe same functions is omitted. The router 3 includes an identifying unit56 and an allocation destination inquiring unit 57.

The identifying unit 56 carries out a process of identifying packetsreceived from the wide area network 2. When a change request signal isreceived from the router 4 via the wide area network 2, the allocationdestination inquiring unit 57 transmits, to the position managing server15, a request signal requesting the address of the router 4 to which apacket destined for the server designated in the change request signalis to be allocated. Furthermore, the allocation destination inquiringunit 57 receives a reply signal transmitted by the position managingserver 15 in response to the request signal. The allocation destinationinquiring unit 57 updates the allocation destination information 20 suchthat the destination to which the packet destined for the serverdesignated in the change request signal is to be allocated matches therouter 4 designated in the replay signal.

The above-described operations of the identifying unit 56 and theallocation destination inquiring unit 57 are performed by the processor30 depicted in FIG. 4, by executing the control program 36.

FIG. 18 is a diagram depicting a first example of a functionalconfiguration of the position managing server 15. The position managingserver 15 includes a transmitting and receiving unit 90, an identifyingunit 91, a storage unit 92, an allocation destination determining unit93, and a load information updating unit 94.

The transmitting and receiving unit 90 carries out a process ofreceiving packets from the wide area network 2 and a process oftransmitting packets to the wide area network 2. The identifying unit 91carries out a process of identifying packets received from the wide areanetwork 2. When a request signal is received from the router 3 via thewide area network 2, the allocation destination determining unit 93acquires, from the address mapping information 22, the addresses of therouter 4 associated with the address of the server designated in therequest signal.

The allocation destination determining unit 93 determines one of theacquired addresses of the routers 4 to be the address of the router 4 towhich the packet destined for the server designated in the requestsignal is to be allocated. For example, the allocation destinationdetermining unit 93 may select the address of one of the routers 4accommodating a server 12 with a lower load based on the loadinformation 86. The load information updating unit 94 updates the loadinformation 86 based on a load notification signal provided by theserver 12. The load information updating unit 94 may receive the loadnotification signal from, for example, a load measuring agent programthat operates in the server 12 to measure the load on the server 12. Theallocation destination determining unit 93 transmits a reply signalcontaining the address of the selected router 4 and the address of theserver 12 to the router 3 as a reply to the request signal.

The above-described operation of the transmitting and receiving unit 90is performed through cooperation between the NIF circuit 83 andprocessor 80 depicted in FIG. 15. The above-described operations of theidentifying unit 91, the allocation destination determining unit 93, andthe load information updating unit 94 are performed by the processor 80executing the position management program 85. A storage area for thestorage unit 92 is provided in the auxiliary storage apparatus 81.

A diagram of a functional configuration in FIG. 18 mainly depictscomponents related to the functions of the position managing server 15illustrated herein. The position managing server 15 may includecomponents other than the depicted components. This also applies to adiagram of a functional configuration in FIG. 28.

<2.4. Illustration of Operations>

A first example of a packet allocation destination changing operationperformed by the router 3, the router 4, and the position managingserver 15 will be illustrated with reference to FIG. 19. In an operationBA, the server 12 a generates an allocation destination change triggerthat starts an operation of changing the allocation destination of apacket from the terminal 10 transmitting the packet to the server 12 a.For example, the server 12 a generates the allocation destination changetrigger when the load on the server 12 a exceeds a threshold.

When the allocation destination change trigger is generated, the server12 a transmits, in an operation BB, a change request signal to therouter 4 a. The change request signal contains designations of theaddress “B” of the server 12 a and the address “A” of the terminal 10.In an operation BC, the transfer destination determining unit 76 of therouter 4 a determines the router 3 to which the change request signal isto be transferred. In an operation BD, the transfer destinationdetermining unit 76 transfers the change request signal to the router 3.

In an operation BE, the allocation destination inquiring unit 57 of therouter 3 transmits a request signal to the position managing server 15to request the address of the router 4 to which the packet destined forthe server 12 with the address “B” designated in the change requestsignal is to be allocated. In an operation BF, the allocationdestination determining unit 93 of the position managing server 15determines the address “Y” of the router 4 b to which the packetdestined for the server 12 with the address “B” is to be allocated.

In an operation BG, the allocation destination determining unit 93transmits a reply signal containing the address “Y” of the router 4 b,which is the determined allocation destination, to the router 3. In anoperation BH, the allocation destination inquiring unit 57 of the router4 a updates the allocation destination information 20 so that theallocation destination of the packet destined for the server 12 with theaddress “B” matches the router 4 b designated in the reply signal.

<2.5. Effects of the Embodiment>

According to the present embodiment, the allocation destination of apacket from a terminal can be switched among a plurality of servers sothat the address of the servers visible to the terminal remainsunchanged. Furthermore, preferentially allocating packets to a serverwith a lower load enables a reduction in the concentration of the loadon a particular server.

<2.6. Variation>

As described above, the router 4 may use, as the transfer destinationinformation 21, a map cache that allows a packet from the server 12 a tothe terminal 10 to be encapsulated so that the encapsulated packet canbe transferred to the router 3. Furthermore, the router 4 may acquirethe address of the router 3 designated as a source address from theheader of the encapsulated packet received from the router 3.Additionally, the router 4 may acquire the address of the terminal 10which is the source of the original packet, from the header of theoriginal packet embedded in the encapsulated packet. The router 4 maygenerate transfer destination information 21 by associating the thusacquired addresses of the router 3 and the terminal 10 with each other.

<3. Third Embodiment>

Another embodiment of the communication system 1 will be illustrated.According to the present embodiment, a server managing the server 12 aoutputs a change request signal requesting a change of the allocationdestination of a packet destined for the server 12 a. FIG. 20 is adiagram depicting a general configuration of a third example of thecommunication system. Components of the third example which are similarto the corresponding components depicted in FIG. 11 are denoted by thesame reference numerals as used in FIG. 11. Description of the samefunctions is omitted.

The communication system 1 includes a managing server 16. The managingserver 16 transmits a change request signal requesting a change of theallocation destination of a packet to the server 12 a, to the router 4 aaccommodating the server 12 a. The managing server 16 according to acertain embodiment determines whether or not to transmit the changerequest signal based on the load on the server 12 a. The managing server16 according to the present embodiment generates the change requestsignal when the load on the server 12 a exceeds a threshold. Themanaging server 16 has server management information 23 that is a recordof the load on each server 12.

FIG. 21 is a diagram of an example of the server management information23. The server management information 23 includes information elements“address”, “router address”, and “load”. The contents of theseinformation elements are similar to the contents of the informationelements of the load information 86 depicted in FIG. 13B. The managingserver 16 monitors the load on each server 12 based on the servermanagement information 23. When the load on the server 12 a exceeds thethreshold, the managing server 16 generates and transmits a changerequest signal to the router 4 a accommodating the server 12 a.

FIG. 22 is a diagram depicting an example of a hardware configuration ofthe managing server 16. The managing server 16 includes a processor 100,an auxiliary storage apparatus 101, a memory 102, and an NIF circuit103.

The processor 100 performs operations of the managing server 16described below. The auxiliary storage apparatus 101 is configured tostore an operating system 104, a server management program 105 forallowing the processor 100 to perform operations illustrated below, andserver management information 23. The auxiliary storage apparatus 101includes a nonvolatile storage apparatus. The memory 102 is configuredto store a computer program being currently executed by the processor100 and data temporarily used by the program. The memory 102 may includea random access memory. The NIF circuit 103 carries out a process oftransmitting and receiving packets to and from the wide area network 2.

The hardware configuration depicted in FIG. 22 is merely forillustrative purpose to describe the embodiment. Given that the managingserver 16 described herein performs the operations described below, themanaging server 16 may adopt any other hardware configuration.

FIG. 23 is a diagram depicting an example of a functional configurationof the managing server 16. The managing server 16 includes atransmitting and receiving unit 110, an identifying unit 111, a storageunit 112, a load information updating unit 113, a server specifying unit114, a terminal inquiring unit 115, and a change request signalgenerating unit 116.

The transmitting and receiving unit 110 carries out a process ofreceiving packets from the wide area network 2 and a process oftransmitting packets to the wide area network 2. The identifying unit111 carries out a process of identifying packets received from the widearea network 2. The storage unit 112 is configured to store the servermanagement information 23. The load information updating unit 113updates information on the load on each server 12 recorded in the servermanagement information 23 based on a load notification signal providedby the server 12. The load information updating unit 113 may receive theload notification signal from, for example, a load measuring agentprogram that operates in the server 12 to measure the load on the server12.

Based on the server management information 23, the server specifyingunit 114 specifies one of the servers 12, i.e., the server 12 a, to be aserver that switches the allocation destination of the packet destinedfor the server 12 a, to another server 12 b. The server specifying unit114 specifies, for example, the server 12 a in which the load recordedin the server management information 23 exceeds a threshold.

The terminal inquiring unit 115 inquires of the server 12 a about theaddress “A” of the terminal 10 transmitting the packet to the server 12a specified by the server specifying unit 114. The change request signalgenerating unit 116 generates a change request signal containingdesignations of the address “B” of the server 12 a and the address “A”of the terminal 10, and transmits the change request signal to therouter 4 a.

The above-described operation of the transmitting and receiving unit 110is performed through cooperation between the NIF circuit 103 andprocessor 100 depicted in FIG. 22. The above-described operations of theidentifying unit 111, the load information updating unit 113, the serverspecifying unit 114, the terminal inquiring unit 115, and the changerequest signal generating unit 116 are performed by the processor 100executing the server management program 105. A storage area for thestorage unit 112 is provided in the auxiliary storage apparatus 101.Furthermore, a diagram of a functional configuration in FIG. 23 mainlydepicts components related to the functions of the managing server 16illustrated herein. The managing server 16 may include components otherthan the depicted components.

FIG. 24 is a sequence diagram illustrating a second example of anoperation of changing the allocation destination of a packet. In anoperation CA, the server specifying unit 114 of the managing server 16specifies one of the servers 12, i.e., the server 12 a, to be a serverthat switches the allocation destination of the packet destined for theserver 12 a, to another server 12 b. In an operation CB, the terminalinquiring unit 115 of the managing server 16 transmits a terminalinquiry signal inquiring of the server 12 a about the address “A” of theterminal 10 transmitting the packet to the identified server 12 a.

When receiving the terminal inquiry signal, the server 12 a transmits,in an operation CC, a terminal designation signal designating theaddress “A” of the terminal 10 to the managing server 16. In anoperation CD, the change request signal generating unit 116 of themanaging server 16 transmits to the router 41, a change request signalcontaining designations of the address “B” of the server 12 a and theaddress “A” of the terminal 10. Operations CE to CJ are similar to theoperations BC to BH illustrated with reference to FIG. 19.

The present embodiment allows not only servers to which packets are tobe allocated but also another managing apparatus managing the servers tostart an operation of changing the allocation destination of eachpacket. Furthermore, a variation of the present embodiment allows theposition managing server 15 to operate as the managing server 16. Inthis case, the load information 86 may be used as the server managementinformation 23.

The variation of the position managing server 15 may determine whetheror not to change the allocation destination of a packet to the server 12a based on the load information 86. When the allocation destination ofthe packet is changed to the server 12 a, the position managing server15 may determine the address “Y” of the router 4 b, which is a newallocation destination. The position managing server 15 may transmit, tothe router 3, an allocation destination indication signal containing theaddress “A” of the terminal 10 designated in the terminal designationsignal, the address “B” of the server 12 a, which is an allocationdestination, and the address “Y” of the router 4 b, which is a newallocation destination. The router 3 may update the allocationdestination information 20 such that the destination to which the packetdestined for the address “B” designated in the allocation destinationindication signal matches the router 4 b with the address “Y”.

Furthermore, also in a fourth embodiment to a seventh embodimentillustrated below, the managing server 16 may output a change requestsignal as in the case with the third embodiment.

<4. Fourth Embodiment>

Another embodiment of the communication system 1 will be illustrated. Ageneral configuration of the communication system 1 according to thepresent embodiment is similar to the configuration in FIG. 11. Accordingto the present embodiment, the router 4 a, when receiving a changerequest signal from the server 12 a that is the current allocationdestination, transmits, to the position managing server 15, a requestsignal requesting the address of the router 4 to which the packetdestined for the server 12 is to be allocated.

It is assumed that when receiving the request signal, the positionmanaging server 15 determines the allocation destination of the packetto be the router 4 b. The router 4 a receives a reply signal containingthe address “Y” of the router 4 b, which is a new allocation destinationdetermined by the position managing server 15. The router 4 a transmits,to the router 3, an allocation destination indication signal containingthe address “A” of the terminal 10, the address “B” of an allocationdestination server 12 a, and the address “Y” of a new allocationdestination router 4 b. The router 3 updates the allocation destinationinformation 20 such that the destination to which the packet destinedfor the address “B” designated in the allocation destination indicationsignal is to be allocated matches the router 4 b with the address “Y”.

FIG. 25 is a diagram depicting a third example of the functionalconfiguration of the router 4. Components of the third example which aresimilar to the corresponding components depicted in FIG. 16 are denotedby the same reference numerals as used in FIG. 16. Description of thesame functions is omitted. The router 4 includes an allocationdestination inquiring unit 78, and an allocation destination indicationsignal generating unit 79.

When a change request signal transmitted by the server 12 is received,the allocation destination inquiring unit 78 transmits, to the positionmanaging server 15, a request signal requesting the address of therouter 4 to which the packet destined for the server designated in thechange request signal is to be allocated. Furthermore, the allocationdestination inquiring unit 78 receives a reply signal transmitted by theposition managing server 15 in response to the request signal. Theallocation destination inquiring unit 78 outputs the address of a newallocation destination router 4 designated in the reply signal, to thetransfer destination determining unit 76.

The transfer destination determining unit 76 outputs, to the allocationdestination indication signal generating unit 79, the address of therouter 3 to which the packet from the terminal 10 is to be allocated andwhich is identified based on the address of the terminal 10, the addressof the server 12, the address of a new allocation destination router 4,and the transfer destination information 21. The allocation destinationindication signal generating unit 79 generates an allocation destinationindication signal containing the address of the terminal 10, the addressof the server 12, and the address of the new allocation destinationrouter 4.

The allocation destination indication signal generating unit 79designates the address of the router 3 as the destination address of theallocation destination indication signal. The allocation destinationindication signal generating unit 79 transmits the allocationdestination indication signal to the router 3. The above-describedoperations of the allocation destination inquiring unit 78 and theallocation destination indication signal generating unit 79 areperformed by the processor 40 depicted in FIG. 5, executing the controlprogram 46.

FIG. 26 is a diagram depicting a third example of the functionalconfiguration of the router 3. Components of the third example which aresimilar to the corresponding components depicted in FIG. 17 are denotedby the same reference numerals as used in FIG. 17. Description of thesame functions is omitted. The router 3 includes an allocationdestination indication signal processing unit 58. The allocationdestination indication signal processing unit 58 receives the allocationdestination indication signal transmitted by the router 4.

The allocation destination indication signal processing unit 58 updatesthe allocation destination information 20 such that the destination towhich the packet destined for the address of the server 12 designated inthe allocation destination indication signal is to be allocated matchesthe address of the router 4 designated as a new allocation destination.The above-described operation of the allocation destination indicationsignal processing unit 58 is performed by the processor 30 depicted inFIG. 4, executing the control program 36.

FIG. 27 is a sequence diagram illustrating a third example of theprocess of changing the allocation destination of a packet. OperationsDA to DC are similar to the operations BA to BC illustrated withreference to FIG. 19.

In an operation DD, the allocation destination inquiring unit 78 of therouter 4 a transmits, to the position managing server 15, a requestsignal requesting the address of the router 4 to which the packetdestined for the server 12 with the address “B” designated in the changerequest signal is to be allocated. In an operation DE, the allocationdestination determining unit 93 of the position managing server 15selects the router 4 b as a new destination to which the packet destinedfor the server 12 with the address “B” is to be allocated. In anoperation DF, the allocation destination determining unit 93 transmits,to the router 4 a, a reply signal containing the address “Y” of therouter 4 b to which the packet is to be allocated.

In an operation DG, the allocation destination indication signalgenerating unit 79 of the router 4 a transmits, to the router 3, anallocation destination indication signal containing the address “A” ofthe terminal 10, the address “B” of the server 12, and the address “Y”of the new allocation destination router 4. In an operation DH, theallocation destination indication signal processing unit 58 of therouter 3 updates the allocation destination information 20 such that thedestination to which the packet destined for the server 12 with theaddress “B” is to be allocated matches the router 4 b designated in thereply signal.

According to the present embodiment, the router 4, when receiving achange request signal, carries out a process of inquiring of theposition managing server 15 about the address of the router 4 to which apacket destined for the server 12 is to be allocated and whichencapsulates the packet and transfers the encapsulated packet. Thiseliminates the need to transfer a change request signal from the router4 to the router 3 in the wide area network 2, reducing the load on thewide area network 2. Furthermore, the need for an inquiry to theposition managing server 15 is eliminated, reducing the processing loadon the router 3.

<5. Fifth Embodiment>

Another embodiment of the communication system 1 will be illustrated. Ageneral configuration of the communication system 1 according to thepresent embodiment is similar to the configuration in FIG. 11. Accordingto the present embodiment, the server 12 a transmits, to the positionmanaging server 15, a change request signal requesting a change, to theserver 12 a, of the destination to which the packet is allocated. Whenreceiving a change request signal designating the addresses “A” and “B”of the terminal 10 and the server 12, the position managing server 15determines the address “Y” of the router 4 b, which is a new allocationdestination to which a packet from the terminal 10 is to be allocated.Furthermore, the position managing server 15 identifies the address “Z”of the router 3 accommodating the address “A” of the terminal 10 basedon the address mapping information 22.

The position managing server 15 transmits, to the router 3 with theaddress “Z”, an allocation destination indication signal containing theaddress “A” of the terminal 10, the address “B” of an allocationdestination server 12 a, and the address “Y” of a new allocationdestination router 4 b. The router 3 updates the allocation destinationinformation 20 such that the destination to which the packet destinedfor the address “B” designated in the allocation destination indicationsignal is to be allocated matches the router 4 b with the address “Y”.

FIG. 28 is a diagram depicting a second example of the functionalconfiguration of the position managing server 15. Components of thesecond example which are similar to the corresponding componentsdepicted in FIG. 18 are denoted by the same reference numerals as usedin FIG. 18. A description of the same functions is omitted. The positionmanaging server 15 includes a transfer destination determining unit 95and an allocation destination indication signal generating unit 96.

When a change request signal transmitted by the server 12 is receivedvia the local area network 13 and the wide area network 2, theallocation destination determining unit 93 references the addressmapping information 22 stored in the storage unit 92. The allocationdestination determining unit 93 acquires, from the address mappinginformation 22, the addresses of the routers 4 associated with theaddress of the server designated in the change request signal. Theallocation destination determining unit 93 determines one of theacquired addresses to be the address of the new allocation destinationrouter 4. The allocation destination determining unit 93 outputs theaddresses of the terminal 10 and the server 12 and the address of thenew allocation destination router 4 to the transfer destinationdetermining unit 95.

The transfer destination determining unit 95 acquires, from the addressmapping information 22, the address of the router 3 associated with theaddress of the terminal 10 designated in the change request signal. Thetransfer destination determining unit 95 outputs, to the allocationdestination indication signal generating unit 96, the addresses of theterminal 10, the server 12, and the router 4 received from theallocation destination determining unit 93 and the address of the router3 acquired from the address mapping information 22.

The allocation destination indication signal generating unit 96generates an allocation destination indication signal containing theaddress of the terminal 10, the address of the server 12, and theaddress of the new allocation destination router 4. The allocationdestination indication signal generating unit 96 designates the addressof the router 3 in the destination address in the allocation destinationindication signal. The allocation destination indication signalgenerating unit 96 transmits the allocation destination indicationsignal to the router 3. The above-described operations of the transferdestination determining unit 95 and the allocation destinationindication signal generating unit 96 are performed by the processor 80depicted in FIG. 15, executing the position management program 86.

FIG. 29 is a sequence diagram illustrating a fourth example of theoperation of changing the allocation destination of a packet. Anoperation EA is similar to the operation BA illustrated with referenceto FIG. 19. In an operation EB, the server 12 transmits a change requestsignal to the position managing server 15. The change request signalcontains the address “B” of the server 12 a and the address “A” of theterminal 10.

In an operation EC, the allocation destination determining unit 93 ofthe position managing server 15 selects the address “Y” of the router 4b as the address of the new allocation destination router 4 to which thepacket destined for the server 12 with the address “B” designated in thechange request signal is to be allocated. In an operation ED, thetransfer destination determining unit 95 of the position managing server15 determines the address “Z” of the router 3 associated with theaddress “A” of the terminal 10 to be the destination of the allocationdestination indication signal based on the address mapping information22.

In an operation EE, the allocation destination indication signalgenerating unit 96 transmits, to the router 3, an allocation destinationindication signal containing the address “A” of the terminal 10, theaddress “B” of the server 12, and the address “Y” of the new allocationdestination router 4. In an operation EF, the allocation destinationindication signal processing unit 58 of the router 3 updates theallocation destination information 20 such that the destination to whichthe packet destined for the server 12 with the address “B” matches therouter 4 b designated in the reply signal.

According to the present embodiment, the position managing server 15receives a change request signal from the server 12 and transmits theaddress of the router 4 to which a packet destined for the server 12 isto be allocated, to the router 3. This eliminates the need for a processof transferring the change request signal from the router 4 to therouter 3 and a process of inquiring, by the router 4 or the router 3,about the new allocation destination router 4. As a result, the load onthe router 4 or the router 3 is reduced.

<6. Sixth Embodiment>

Another embodiment of the communication system 1 will be illustrated. Ageneral configuration of the communication system 1 according to thepresent embodiment is similar to the configuration in FIG. 11. Accordingto the present embodiment, when the terminal 10 starts accessing theserver 12, the router 3 inquires of the position managing server 15about the router 4 to which a packet from the terminal 10 is to beallocated.

FIG. 30 is a diagram depicting a fourth example of the functionalconfiguration of the router 3. Components of the fourth example whichare similar to the corresponding components depicted in FIG. 17 aredenoted by the same reference numerals as used in FIG. 17. Descriptionof the same functions is omitted. The router 3 includes a request signalgenerating unit 59 and a reply signal processing unit 60.

When the router 3 receives a packet transmitted from the terminal 10 tothe server 12, the allocation destination information referencing unit54 acquires from the allocation destination information 20, the addressof an allocation destination router 4 that corresponds to thedestination address of the received packet. When the address of theallocation destination router 4 that corresponds to the destinationaddress is not recorded in the allocation destination information 20,the request signal generating unit 59 transmits a request signal to theposition managing server 15.

In response to the request signal, the reply signal processing unit 60receives a reply signal transmitted by the position managing server 15.The reply signal processing unit 60 adds the association of thedestination address of the received packet with the address of therouter 4 designated in the reply signal, to the allocation destinationinformation 20. The above-described operations of the request signalgenerating unit 59 and the reply signal processing unit 60 are performedby the processor 30 depicted in FIG. 4, executing the control program36.

FIG. 31 is a sequence diagram illustrating an example of an operation ofsetting the allocation destination of a packet. It is assumed that theallocation destination information 20 on the router 3 is empty. In anoperation FA, the terminal 10 transmits a packet destined for the server12. The address “B” of the server 12 is designated as the destinationaddress of the packet.

In an operation FB, the allocation destination information referencingunit 54 of the router 3 acquires the address of the allocationdestination router 4 corresponding to the destination address “B” of thereceived packet, from the allocation destination information 20. Whenthe address of the allocation destination router 4 that corresponds tothe destination address “B” of the received packet is not recorded inthe allocation destination information 20, the request signal generatingunit 59 of the router 3 transmits, in an operation FC, a request signalto the position managing server 15. The request signal contains adesignation of the address “B” of the server 12.

In an operation FD, allocation destination determining unit 93 of theposition managing server 15 determines the address “Y” of the router 4b, to which the packet destined for the server 12 with the address “B”is to be allocated. In an operation FE, the allocation destinationdetermining unit 93 transmits, to the router 3, a reply signalcontaining the determined address “Y” of the router 4 b, which is anallocation destination.

In an operation FF, the reply signal processing unit 60 adds theassociation of the destination address of the received packet with theaddress of the router 4 designated in the reply signal, to theallocation destination information 20. Operations FG to FJ are similarto the operations AC to AF illustrated with reference to FIG. 8.

The present embodiment provides a configuration and a method whichdetermines which of the servers providing the same service a packet isto be allocated by encapsulation when a terminal starts accessing one ofthe servers. Furthermore, like the second embodiment, the presentembodiment determines the allocation destination server according to theloads on the servers. Thus, when the terminal starts access, theallocation destination can be determined according to the load status ofeach server.

<7. Seventh Embodiment>

Another embodiment of the communication system 1 will be illustrated.FIG. 32 is a diagram depicting a general configuration of a fourthexample of the communication system 1. Components of the fourth examplewhich are similar to the corresponding components depicted in FIG. 11are denoted by the same reference numerals as used in FIG. 11.Description of the same functions is omitted. The communication system 1includes a plurality of routers 4 a to 4 c. The plurality of routers 4 ato 4 c are edge routers that connect the respective plurality of localarea networks 13 a to 13 c with the respective plurality of servers 12 ato 12 c connected thereto, to the wide area network 2. In thedescription below, the servers 12 a to 12 c, the local area networks 13a to 13 c, and the routers 4 a to 4 c are hereinafter sometimescollectively referred to as the “server 12”, the “local area network13”, and the router 4”, respectively.

According to the present embodiment, information on the load on theserver 12 a is contained in the change request signal and the requestsignal requesting a change of the allocation destination of a packettransmitted from the terminal 10 to the server 12 a. The positionmanaging server 15 selects the router 4 to which the packet from theterminal 10 is to be allocated, from those of the plurality of routers 4accommodating the server 12 which have a lower load than the server 12a.

It is assumed that the address mapping information 22 and the loadinformation 86 stored in the position managing server 15 are as depictedin FIG. 33A and FIG. 33B. The plurality of servers 12 a to 12 c with theaddress “B” are accommodated in the plurality of routers 4 a to 4 c withthe addresses “X”, “Y”, and “Z”, respectively. Furthermore, the loads onthe servers 12 a to 12 c are “20”, “15”, and “22”, respectively. Theload on the server 12 a specified in the request signal is also assumedto be “20”.

The position managing server 15 selects, as the address of the routers 4to which the packet from the terminal 10 is to be allocated, the address“Y” of the router 4 b, included in the routers 4 accommodating theservers 12 and accommodating the server 12 b with the load of “15”,which is lower than the load “20” on the server 12 a.

Selection of the server 12 b, having a lower load than the server 12 a,allows the server 12 c, having a higher load than the server 12 a, whichhas been an allocation destination before a change, to be selected as anew allocation destination. This enables a reduction in the risk ofservice quality degradation. Similarly, also in the third embodiment tothe fifth embodiment, the change request signal and the request signalmay contain information on the load on the server 12 a, and the positionmanaging server 15 may select the server 12 having a lower load than theserver 12 a as an allocation destination.

FIG. 34 is a sequence diagram illustrating a fifth example of theoperation of changing the allocation destination of a packet. Anoperation GA is similar to the operation BA illustrated with referenceto FIG. 19. In an operation GB, the server 12 a transmits a changerequest signal to the router 4 a. The change request signal containsdesignations of the address “B” of the server 12 a and the address “A”of the terminal 10 and information “20” on the load on the server 12 a.Operations GC and GD are similar to the operations BC and BD illustratedwith reference to FIG. 19.

In an operation GE, the allocation destination referencing unit 57 ofthe router 3 transmits a request signal to the position managing server15 to request the address of the router 4 to which a packet destined forthe server 12 with the address “B” designated in the change requestsignal is to be allocated. The change request signal containsdesignations of the address “B” of the server 12 a and the information“20” on the load on the server 12 a.

In an operation GF, the allocation destination determining unit 93 ofthe position managing server 15 determines the address of the router 4to which the packet destined for the server 12 with the address “B” isto be allocated. At this time, the allocation destination determiningunit 93 selects the address of the router 4 b, included in the routers 4accommodating the servers 12 and accommodating the server 12 having aload lower than the load of “20” on the server 12 a. When a plurality ofservers 12 has a lower load than the server 12 a, the allocationdestination determining unit 93 may use a round-robin method or the liketo select one of the plurality of servers 12 having a lower load thanthe server 12 a. Alternatively, the allocation destination determiningunit 93 may preferentially select one of a plurality of servers 12having a lower load than the server 12 a that has a lower load.Operations GG and GH are similar to the operations BG and GH illustratedwith reference to FIG. 19.

The present embodiment can reduce the risk of degradation of servicequality resulting from the selection, as a new allocation destination,of the server 12 having a higher load than the server 12 a, which hasbeen an allocation destination before the change. The possibility ofselecting the server 12 having a higher load than the server 12 a isfurther reduced by containing the latest information on the load on theserver 12 a in the request signal and the change request signalrequesting a change of the allocation destination of the packet to betransmitted to the server 12 a.

Furthermore, the position managing server 15 may be modified to includea load information requesting unit which requests the plurality ofservers 12 to transmit information on the respective loads when arequest signal is received which requests the address of the router 4 towhich the packet destined for the server 12 is to be allocated.

According to the device and method disclosed herein, a packet allocationprocess enabling a change of an allocation destination server apparatuswithout changing the address of server apparatuses visible to theterminal apparatus is distributed among a plurality of apparatuses.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the inventionand the concepts contributed by the inventor to furthering the art, andare to be construed as being without limitation to such specificallyrecited examples and conditions, nor does the organization of suchexamples in the specification relate to a showing of the superiority andinferiority of the invention. Although the embodiment(s) of the presentinventions have been described in detail, it should be understood thatthe various changes, substitutions, and alterations could be made heretowithout departing from the spirit and scope of the invention.

What is claimed is:
 1. A router apparatus connecting a first network anda second network, the router apparatus comprising: a storage unit whichstores association information, the association information associatesan address of one of a plurality of second router apparatuses, havingdifferent addresses from each other, with an address of a correspondingone of a plurality of server apparatuses, each of the server apparatusesis assigned the same address, where the second router apparatuses areconnected, on one hand, to the first network and, on the other hand, tothe server apparatuses via respective third networks; a receiving unitwhich receives a packet transmitted from a terminal apparatus andtransferred via the first network; a processor which encapsulates apacket received from the terminal apparatus and transferred, via thesecond network and one of the third networks, to one of the serverapparatuses, into a packet which is transmitted, via the second network,to one of the second router apparatuses and has a destination addresscorresponding to an address of that second router apparatus associatedwith an address of the packet received from the terminal apparatus,based on the association information; and a transmitting unit whichtransmits the packet encapsulated by the processor to the first network.2. The router apparatus according to claim 1, further comprising anaddress changing unit which switches the address associated with theaddress of the server apparatus based on the association information,among the plurality of second router apparatuses.
 3. The routerapparatus according to claim 2, wherein the address changing unitcomprises an address inquiring unit which inquires of an address storageapparatus about the address of one of the plurality of second routerapparatuses connecting each of the plurality of third networks to thefirst network, the address storage apparatus storing the addresses ofthe plurality of second router apparatuses.
 4. The router apparatusaccording to claim 2, further comprising a second receiving unit whichreceives an indication signal indicating the address of the serverapparatus and the address of the second router apparatus with which theaddress of the server apparatus is associated, wherein the addresschanging unit changes the address associated with the address of theserver apparatus based on the association information to the address ofthe second router apparatus indicated in the indication signal.
 5. Therouter apparatus according to claim 1, further comprising an addressinquiring unit which inquires of the address storage apparatus storingthe addresses of the plurality of second routers about the address ofthe one of the plurality of second router apparatuses connecting thefirst network to the plurality of third networks to which the respectiveplurality of server apparatuses with the same address to the destinationaddress of the packet received by the receiving unit is connected; andan association information generating unit which generates theassociation information associating the address associated with theaddress of the server apparatus with the address of the second routerapparatus received from the address storage apparatus and which storesthe association information in the storage unit.
 6. A router apparatuscomprising: a receiving unit which receives a first packet from a firstrouter apparatus via a first network, where the first router apparatusencapsulates the first packet which is received from a terminalapparatus and transferred, via the first network, a second server,having different addresses from each other, and one of third networks,to one of a plurality of server apparatuses, into a second packet whichis transmitted, via the first network, to the one of second routerapparatuses and has a destination address corresponding to the addressof that second router apparatus; a processor which takes out, from thesecond packet encapsulated, the first packet transmitted by the terminalapparatus connected to a second network and destined for one of theplurality of server apparatuses connected to respective third networks,each of the server apparatuses is assigned the same address; and atransmitting unit which transmits the packet taken out by the processorto the third network connected to the first network by the routerapparatus.
 7. The router apparatus according to claim 6, furthercomprising: a storage unit which stores association informationassociating an address of the terminal apparatus with an address of thefirst router apparatus; a second receiving unit which receives a changerequest signal requesting a change of the destination of the packet fromthe terminal apparatus to another of the plurality of serverapparatuses, from the server apparatus connected to the third networkconnected to the first network by a second router apparatus; an addressinquiring unit which inquires of an address storage apparatus storingaddresses of a plurality of the second router apparatuses connectingeach of the plurality of third networks to the first network about theaddress of one of the plurality of second router apparatuses; and asecond transmitting unit which transmits the address received from theaddress storage apparatus to the address of the first router apparatusassociated, based on the association information, with the address ofthe terminal apparatus designated in the change request signal.
 8. Acommunication system comprising: a first network; a first routerapparatus connecting a second network to the first network; and aplurality of second router apparatuses, having different addresses fromeach other, connecting each of a plurality of third networks to thefirst network, wherein the first router apparatus comprises: a storageunit which stores association information, the association informationassociates an address of one of the plurality of second routerapparatuses with an address of a corresponding one of a plurality ofserver apparatuses, each of the server apparatuses is assigned the sameaddress, where the second router apparatuses are connected, on one hand,to the first network and, on the other hand, to the server apparatusesvia respective third networks; a first receiving unit which receives apacket transmitted from a terminal apparatus and transferred via thesecond network; a first processor which encapsulates a first packetreceived from the terminal apparatus and transferred, via the firstnetwork and one of the third networks, to one of the server apparatuses,into a second packet which is transmitted, via the first network, to oneof the second router apparatuses and has a destination addresscorresponding to an address of that second router apparatus associatedwith an address of the packet received from the terminal apparatus,based on the association information; and a first transmitting unitwhich transmits the second packet encapsulated by the first processor tothe first network, and each of the second router apparatuses comprises:a second receiving unit which receives a second packet from the firstrouter apparatus via the first network, where the first router apparatusencapsulates the first packet which is received from the terminalapparatus and transferred, via the first network and one of the thirdnetworks, to one of the plurality of server apparatuses, into the secondpacket which is transmitted, via the first network, to the second routerapparatus and has a destination address corresponding to an address ofthe second router apparatus associated with an address of the firstpacket received from the terminal apparatus, based on associationinformation; a second processor which takes the first packet transmittedby the terminal apparatus, out from the second packet encapsulated; anda second transmitting unit which transmits the first packet taken out bythe second processor to the third network connected to the first networkby the second router apparatus.
 9. The communication system according toclaim 8, further including a server management apparatus and an addressstorage apparatus, wherein the server management apparatus comprises: aload storage unit which stores a load on the server apparatus receivingthe packet transmitted from the terminal apparatus; and a thirdtransmitting unit which transmits a change request signal requesting achange of the destination of the packet from the terminal apparatusaccording to the load on the server apparatus, to a second routerapparatus connecting the third network to which the server apparatus isconnected to the first network, the address storage apparatus comprisesa second storage unit which stores addresses of a plurality of secondrouter apparatuses, the second router apparatus comprises: a secondstorage unit which stores second association information associating anaddress of the terminal apparatus with an address of the first routerapparatus; an address inquiring unit which inquires of the addressstorage apparatus about the address of one of the plurality of secondrouter apparatuses in response to the change request signal; and atransmitting unit which transmits the address received from the addressstorage apparatus to the address of the first router apparatusassociated, based on the association information, with the address ofthe terminal apparatus designated in the change request signal.
 10. Thecommunication system according to claim 8, further comprising an addressstorage apparatus, wherein the address storage apparatus comprises: asecond storage unit which stores the addresses of the plurality ofsecond router apparatuses; a third receiving unit which receives, from aserver apparatus receiving the packet transmitted from the terminalapparatus, a change request signal requesting a change of thedestination of the packet from the terminal apparatus to another serverapparatus of the plurality of server apparatuses; a selecting unit whichselects the address of one of the plurality of second router apparatusesin response to the change request signal; and a third transmitting unitwhich transmits the address of the second router apparatus selected bythe selecting unit to the first router apparatus, and the first routerapparatus comprises an address changing unit which changes an addressassociated with the address of the server apparatus based on theassociation information to an address received from the address storageapparatus.
 11. The communication system according to claim 8, furtherincluding an address storage apparatus, wherein the address storageapparatus comprises: a second storage unit which stores the addresses ofthe plurality of second router apparatuses and load information on theplurality of server apparatuses; a third receiving unit which receives,from the first router apparatus, load information on the serverapparatus receiving the packet transmitted from the terminal apparatus;a selecting unit which selects the address of one of the plurality ofsecond router apparatuses that connects the first network to a thirdnetwork connected to a server apparatus having a load lower than a valuein the load information received from the first router apparatus; and athird transmitting unit which transmits the address of the second routerapparatus selected by the selecting unit to the first router apparatus,and the first router apparatus comprises an address changing unit whichchanges an address associated with the address of the server apparatusbased on the association information to an address received from theaddress storage apparatus.
 12. A packet transfer method implemented in arouter apparatus connecting a first network and a second network, themethod comprising: storing, in a predetermined storage unit which storesassociation information, the association information associates anaddress of one of a plurality of second router apparatuses, havingdifferent addresses from each other, with an address of a correspondingone of a plurality of server apparatuses, each of the server apparatusesis assigned the same address, where the second router apparatuses areconnected, on one hand, to the first network and, on the other hand, tothe server apparatuses via respective third networks; receiving a firstpacket transmitted from a terminal apparatus and transferred via thefirst network; encapsulating the first packet received from the terminalapparatus and transferred, via the first network and one of the thirdnetworks, to one of the server apparatuses, into a second packet whichis transferred, via the first network, to one of the second routerapparatuses and has a destination address corresponding to an address ofthat second router apparatus associated with an address of the firstpacket received from the terminal apparatus, based on the associationinformation; and transmitting the second packet encapsulated to thesecond router apparatus via the first network.
 13. A packet transfermethod implemented in a router apparatus, the method comprising:receiving a second packet from a first router apparatus via a firstnetwork, where the first router apparatus encapsulates a first packetwhich is received from a terminal apparatus and transferred, via thefirst network, one of a plurality second routers, having differentaddresses with each other, and one of third networks, to one of aplurality of server apparatuses, into a second packet which istransferred, via the first network, to the one of the second routerapparatus and has a destination address corresponding to an address ofthe router apparatus associated with an address of the first packetreceived from the terminal apparatus, based on association information;taking out, from the second packet encapsulated, the first packettransmitted from the terminal apparatus connected to a second networkand destined for one of the plurality of server apparatuses connected torespective third networks, each of the server apparatuses is assignedthe same address; and transmitting the taken-out packet to the thirdnetwork connected to the first network by the router apparatus.